package org.front.server.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.front.shared.data.Compartiment;
import org.front.shared.data.Distributeur;
import org.front.shared.data.Produit;
import org.front.shared.data.Transaction;

public interface DistributeurDao {	
	
	public Distributeur getDistributeurInfo() throws Exception;
	
	public void modifierMontantCaisse(double montant) throws Exception;
	
	public List<Produit> getListProduits() throws Exception;

	public Map<String, Compartiment> getMapCompartiment() throws Exception;

	public Produit getProduit(String codeProduit) throws Exception;
	
	public List<Transaction> getlistTransactions() throws Exception;
	
	public List<Transaction> getlistTransactions(Date dateDebut, Date dateFin) throws Exception;
	
	public void ajouterTransaction(Transaction transaction) throws Exception;

	public void supprimerProduitCompartiment(Compartiment compartiment) throws Exception;

	public void ajouterCompartiment(Compartiment compartiment, Produit produit, int quantite) throws Exception;

	public void modifierCompartiment(Compartiment compartiment, int quantite) throws Exception;
	
}
